package com.wang.tool.executor.transitivethreadcontext;

import org.slf4j.MDC;

import java.util.Map;

/**
 * 日志
 *
 * @Author wangshaopeng
 * @Date 2022/6/12
 */
public class MdcTransmitter implements ThreadContextTransmitter {


    @Override
    public Object get() {
        //这里有一个坑点,就是他这是浅拷贝,所以.....
        return MDC.getCopyOfContextMap();
    }

    @Override
    public void set(Object obj) {
        if (obj == null) {
            MDC.clear();
        } else {
            MDC.setContextMap((Map<String, String>) obj);
        }
    }
}
